package com.snake.base;

import org.springframework.stereotype.Component;


/**
 * @author snake
 */
@Component
public class BaseApiService {

	/**
	 * @param code
	 * @param msg
	 * @return
	 */
	public ResponseBase setResultError(Integer code, String msg) {
		return setResult(code, msg, null);
	}

	/**
	 *  返回错误，可以传msg
	 * @param msg
	 * @return
	 */
	public ResponseBase setResultError(String msg) {
		return setResult(Constants.HTTP_RES_CODE_500, msg, null);
	}

	/**
	 * 返回成功，可以传data值
	 * @param data
	 * @return
	 */
	public ResponseBase setResultSuccessData(Object data) {
		return setResult(Constants.HTTP_RES_CODE_200, Constants.HTTP_RES_CODE_200_VALUE, data);
	}

	/**
	 * 返回成功消息
	 * @param code
	 * @param data
	 * @return
	 */
	public ResponseBase setResultSuccessData(Integer code, Object data) {
		return setResult(code, Constants.HTTP_RES_CODE_200_VALUE, data);
	}

	/**
	 * 返回成功，沒有data值
 	 */
	public ResponseBase setResultSuccess() {
		return setResult(Constants.HTTP_RES_CODE_200, Constants.HTTP_RES_CODE_200_VALUE, null);
	}

	/**
	 * 返回成功，沒有data值
 	 */
	public ResponseBase setResultSuccess(String msg) {
		return setResult(Constants.HTTP_RES_CODE_200, msg, null);
	}

	/**
	 * 通用封装
	 * @param code 状态码
	 * @param msg 消息
	 * @param data
	 * @return
	 */
	public ResponseBase setResult(Integer code, String msg, Object data) {
		return new ResponseBase(code, msg, data);
	}

}
